package practice6;

import java.util.Scanner;

public class P2693 {
    static int n;		//总共有n种牌
    static int m;		//拿出m张空白卡片
    static int[] a=new int[200010];		//每种卡牌的张数
    static int[] b=new int[200010];		//每种卡牌最多手写新增的张数
    static int minIndex=0;


    public static void getMin() {
        int min=Integer.MAX_VALUE;
        for(int i=1;i<=n;i++) {
            if(a[i]<min) {
                min=a[i];
                minIndex=i;
            }
        }
    }

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        n=sc.nextInt();
        m=sc.nextInt();
        int min=Integer.MAX_VALUE;
        for(int i=1;i<=n;i++) {
            a[i]=sc.nextInt();
        }
        for(int i=1;i<=n;i++) {
            b[i]=sc.nextInt();
        }
        getMin();
        while(m>0 && b[minIndex]>0) {
            a[minIndex]++;
            b[minIndex]--;
            m--;
            getMin();
        }
        System.out.println(a[minIndex]);
    }
}
